package com.shujia.java.day13.demo4;

import java.util.HashSet;

/**
 * 推出了泛型:集合中有多种数据类型时，进行类型转换时会出现问题
 * 泛型解决的问题集合中有多种数据类型时，进行类型转换时会出现问题
 * 和怎么解决:限定集合中只能存储同种数据类型 （如果限定为父类可以存子类）
 *  <E>:泛型格式
 */
public class Test {
    public static void main(String[] args) {
        //这种情况向下转型只能转化为String或者StringBuffer
//        HashSet hashSet = new HashSet();
//        hashSet.add("java");
//        hashSet.add("python");
//        hashSet.add("hadoop");
//        for (Object o:hashSet) {//向上转型 为Obejct
//            //Integer i=(Integer)o; //转型为Integer 运行报错
//            //int ii=(int)o; //转型为Integer 运行报错
//            System.out.println(ii);//向下转型 为String
//        }
        HashSet hashSet = new HashSet();
        hashSet.add("java");
        hashSet.add("python");
        hashSet.add("hadoop");
        hashSet.add(1);
        hashSet.add(2);
        hashSet.add(3);
        for (Object o:hashSet) {//向上转型 为Obejct
            //向下转型 集合中有多种数据类型时 向下转型满足不了需求

            System.out.println();//向下转型 为String
        }

    }
}
